package appapi.dao;

import appapi.Request.StaffroleReq;
import appapi.dto.StaffroleDto;
import appapi.entity.auth.StaffroleEntity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

import java.util.Map;

/**
 * 用户角色
 *
 * @author lc
 * @version 1.0
 * @date 2023-05-17 10:08:27
 */
@Mapper
public interface StaffroleMapper extends BaseMapper<StaffroleEntity> {
    /**
     * 获取用户角色列表
     *
     * @param staffroleReq 条件
     * @return
     */
    List<StaffroleDto> selectList(StaffroleReq staffroleReq);

    /**
     * 获取用户角色信息
     *
     * @param staffId
     * @return
     */
    List<StaffroleEntity> selectDetail(@Param("staffId") Long staffId);

    /**
     * 返回满足用户角色条件的行数
     *
     * @param staffroleEntity 用户角色信息
     * @return
     */
    int count(StaffroleEntity staffroleEntity);

    /**
     * 增加用户角色
     *
     * @param staffroleEntity 用户角色信息
     * @return
     */
    int insertStaffRole(StaffroleEntity staffroleEntity);



    /**
     * 修改用户角色
     *
     * @param staffroleEntity 用户角色信息
     * @return
     */
    int updateStaffRole(StaffroleEntity staffroleEntity);

    /**
     * 删除用户角色
     *
     * @param staffRoleIds       记录ID
     * @return
     */
    int deleteStaffRole(@Param("staffRoleIds") List<Long> staffRoleIds);


    /**
     * 增加用户角色
     *
     * @param staffroleEntityList 用户角色信息
     * @return
     */
    int insertBatch(List<StaffroleEntity> staffroleEntityList);

    /**
     * 增加用户角色
     *
     * @param staffId
     * @param roleIds
     *
     * @return
     */
    int deleteBatch(@Param("staffId") Long staffId,@Param("roleIds") List<Long> roleIds);

    List<Map<String,Object>> selectByStaffId(Long staffId);
}
